<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// 实例方法 和 静态方法
  // 对象.函数()      即 实例方法，默认 函数中 能获取到 对象
  // 构造函数.函数()   即 静态方法，默认 函数中 没有 任何 变量/对象


// 数组的实例方法：
var arr = ['a', 1, 2, 3, 'b'];
// arr.push(...items) 向 arr 末尾 添加 N 个 item 参数
  // 其返回值为 改变后 arr 的 length
    // push 改变变量本身
// arr.pop()  删除末尾的 item
  // 返回值为 被删除的 item
// arr.unshift(...items)  作用于 push 一样，唯一的区别是 操作 ”头部“
// arr.shift()  作用于 pop 一样，唯一的区别是 操作 ”头部“
// ------------------------------------

// arr.splice
  // 1 - arr.splice(start) 为 删除的 起点，若只有 start 参数，为 删除 [start, 末尾]
    // 操作完后，返回值是 被删掉的 数组元素；arr 的值，剩下的数组元素。
  // 2 - arr.splice(start, ?deleteCount); 若 有第二个参数，即为 从 [start, 删除的个数(包含本身)]
  // 3 - arr.splice(start, ?deleteCount, ...items)
    // 若有第三个 和 及N个，表示在删除位置，增加 ...items 对应的元素

// arr.reverse()
  // 将 arr 数组 每个元素 颠倒位置；其会改变 数组本身

// arr.slice(start?, end?)
  // 1 若没参数，返回一个「全新」的数组
  // 2 slice(start)  ，即返回 [start, 最后] 的数组
  // 3 slice(start, end)， 即返回 [start, end)

// arr.concat(...items)  作用：返回一个新的数据，将 arr 和 items 拼接到一起
  // 注：若 item 是一维数组，其会被 解包

// arr.join(?separator = ',')  作用：将数组的每个元素 以 分隔符 链接成 字符串，separator 默认值为 ','

// arr.indexOf(item, ?fromIndex)  作用：在 arr 中寻找 item 所在的 index，若找不到 返回值为 -1
  // 若写第二个参数，表示 从 第二个参数 所代表的 index 开始 查询

// arr.lastIndexOf 作用 等同于 indexOf, 只是 从 右向左查询

// arr.includes(item, fromIndex?)  作用：查询 该  item 是否存在于 arr 中

// arr.flat(depth?: 1) 作用：将 N 维数组 解包，默认 解一层；若解N层，参数值设为 Infinity

</script>